Modern computer systems place a high importance on maintaining data and application security. In a modern distributed and/or virtual computer system environment where users, services, applications, virtual machines, controlling domains and hosts have access to a computer system, credential management can be difficult and burdensome. Because of the inconvenience of credential management, application developers often end up storing application credentials within the application code or end up not using credentials at all, thereby creating an opportunity for unauthorized entities to gain access to application resources.